package org.lanqiao.ssm.common.rsa;

import java.security.SignatureException;

import com.alipay.api.internal.util.StringUtils;

/**
 * 
 * @Title: BalanceEncryp.java
 * @Package org.lanqiao.ssm.common.rsa
 * @Description: 余额支付签名，验签类
 * @author 刘伟 15818570028@163.com
 * @date 2017年2月20日 下午3:55:36
 * @version V1.0
 */
public class BalanceSignUtil {
	/**
	 * 
	 * @Title: rsaSign
	 * @Description:对要签名的字符串进行签名
	 * @param str
	 *            要签名的字符串
	 * @return
	 * @throws SignatureException
	 * @throws Exception
	 */
	public static String rsaSign(String str) throws SignatureException {
		try {
			if (!StringUtils.isEmpty(str)) {

				return RSAUtils.sign(str.getBytes(), BalanceConfig.privateKey);
			}
		} catch (Exception e) {
			throw new SignatureException("余额支付签名异常", e);
		}
		return null;
	}

	/**
	 * 
	 * @Title: verifySign
	 * @Description: 验签
	 * @param str
	 *            要验签的字符串
	 * @param sign
	 *            签名字符串
	 * @return
	 * @throws Exception
	 */
	public static boolean verifySign(String str, String sign) throws Exception {
		if (!StringUtils.isEmpty(str)) {
			return RSAUtils.verify(str.getBytes(), BalanceConfig.publicKey, sign);
		}
		return false;
	}

}
